<?php


require_once 'SF/SFcontrat.php';
require_once "classes/Contrat.php";
require_once 'config.php';
/**
 * Classe permettant de gérer les metier du service Applicatif Contrat 
 */
class SAcontrat {
    
/****************************AJOUTER**********************************/
    
    
    /**
     * Methode pour ajouter un contrat de pension et de base à la BD
     * @param Contrat contratBase a mémoriser
     * @param Pension contratPension à mémoriser
     * @return unContratPensionMémorisé
     */
    public function ajouterContratPension($contratBase, $contratPension) {
        $unContratPensionMemorise = null;
        $unContratBaseMemorise = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratPensionMemorise = $SFcontrat->ajouterContratPension($unContratBaseMemorise, $contratPension);
        
        return $unContratPensionMemorise;
    }
    
    /*
    public function ajouterContratPension($contratPension) {
        $unContratPensionMemorise = null;
        
        $SFcontrat = new SFcontrat();
        //$unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratPensionMemorise = $SFcontrat->ajouterContratPension($contratPension);
        
        return $unContratPensionMemorise;
    }
    */
    
    /**
     * Methode pour ajouter un contrat d'adoption provisoire et de base à la BD
     * @param Contrat contratBase a mémoriser
     * @param AdoptionProvisoire contratAdoptionProvisoire à mémoriser
     * @return unContratAdoptionProvisoireMémorisé
     */
    public function ajouterContratAdoptionProvisoire($contratBase, $contratAdoptionProvisoire) {
        $unContratAdoptionProvisoireMemorise = null;
        $unContratBaseMemorise = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratAdoptionProvisoireMemorise = $SFcontrat->ajouterContratAdoptionProvisoire($unContratBaseMemorise, $contratAdoptionProvisoire);
        
        return $unContratAdoptionProvisoireMemorise;
    }
    
        /**
     * Methode pour ajouter un contrat de cession de propriete et de base à la BD
     * @param Contrat contratBase a mémoriser
     * @param CessionPropriete contratCessionPropriete à mémoriser
     * @return unContratCessionProprieteMémorisé
     */
    public function ajouterContratCessionPropriete($contratBase, $contratCessionPropriete) {
        $unContratCessionProprieteMemorise = null;
        $unContratBaseMemorise = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratCessionProprieteMemorise = $SFcontrat->ajouterContratCessionPropriete($unContratBaseMemorise, $contratCessionPropriete);
        
        return $unContratCessionProprieteMemorise;
    }
    
        /**
     * Methode pour ajouter un contrat de placement et de base à la BD
     * @param Contrat contratBase a mémoriser
     * @param Placement contratPlacement à mémoriser
     * @return unContratPlacementMémorisé
     */
    public function ajouterContratPlacement($contratBase, $contratPlacement) {
        $unContratPlacementMemorise = null;
        $unContratBaseMemorise = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratPlacementMemorise = $SFcontrat->ajouterContratPlacement($unContratBaseMemorise, $contratPlacement);
        
        return $unContratPlacementMemorise;
    }
    
        /**
     * Methode pour ajouter un contrat de restitution et de base à la BD
     * @param Contrat contratBase a mémoriser
     * @param Restitution contratRestitution à mémoriser
     * @return unContratRestitutionMémorisé
     */
    public function ajouterContratRestitution($contratBase, $contratRestitution) {
        $unContratRestitutionMemorise = null;
        $unContratBaseMemorise = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratRestitutionMemorise = $SFcontrat->ajouterContratRestitution($unContratBaseMemorise, $contratRestitution);
        
        return $unContratRestitutionMemorise;
    }
    
     
    /****************************MODIFIER**********************************/
    
        
    /**
     * Methode pour modifier un contrat de pension et de base à la BD
     * @param Contrat contratBase a modifier
     * @param Pension contratPension à modifier
     * @return unContratPensionModifie
     */
    
    public function modifierContratPension($contratBase, $contratPension) {
        $unContratPensionModifie = null;
        $unContratBaseModifie = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseModifie = $SFcontrat->modifierContrat($contratBase);
        $unContratPensionModifie = $SFcontrat->modifierContratPension($contratPension);
        
        return $unContratPensionModifie;
    }
    
    /*
    public function modifierContratPension(Pension $contratPension) {
        $unContratPensionModifie = null;
        
        $SFcontrat = new SFcontrat();
        //$unContratBaseMemorise = $SFcontrat->ajouterContrat($contratBase);
        $unContratPensionModifie = $SFcontrat->modifierContratPension($contratPension);
        
        return $unContratPensionModifie;
    }
    */
    /**
     * Methode pour modifier un contrat d'adoption provisoire et de base à la BD
     * @param Contrat contratBase a modifier
     * @param AdoptionProvisoire contratAdoptionProvisoire à modifier
     * @return unContratAdoptionProvisoireModifie
     */
    public function modifierContratAdoptionProvisoire($contratBase, $contratAdoptionProvisoire) {
        $unContratAdoptionProvisoireModifie = null;
        $unContratBaseModifie = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseModifie = $SFcontrat->ajouterContrat($contratBase);
        $unContratAdoptionProvisoireModifie = $SFcontrat->modifierContratAdoptionProvisoire($contratAdoptionProvisoire);
        
        return $unContratAdoptionProvisoireModifie;
    }
    
        /**
     * Methode pour modifier un contrat de cession de propriete et de base à la BD
     * @param Contrat contratBase a modifier
     * @param CessionPropriete contratCessionPropriete à modifier
     * @return unContratCessionProprieteModifie
     */
    public function modifierContratCessionPropriete($contratBase, $contratCessionPropriete) {
        $unContratCessionProprieteModifie = null;
        $unContratBaseModifie = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseModifie = $SFcontrat->modifierContrat($contratBase);
        $unContratCessionProprieteModifie = $SFcontrat->modifierContratCessionPropriete($contratCessionPropriete);
        
        return $unContratCessionProprieteModifie;
    }
    
        /**
     * Methode pour modifier un contrat de placement et de base à la BD
     * @param Contrat contratBase a modifier
     * @param Placement contratPlacement à modifier
     * @return unContratPlacementModifie
     */
    public function modifierContratPlacement($contratBase, $contratPlacement) {
        $unContratPlacementModifie = null;
        $unContratBaseModifie = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseModifie = $SFcontrat->modifierContrat($contratBase);
        $unContratPlacementModifie = $SFcontrat->modifierContratPlacement($contratPlacement);
        
        return $unContratPlacementModifie;
    }
    
        /**
     * Methode pour modifier un contrat de restitution et de base à la BD
     * @param Contrat contratBase a modifier
     * @param Restitution contratRestitution à modifier
     * @return unContratRestitutionModifie
     */
    public function modifierContratRestitution($contratBase, $contratRestitution) {
        $unContratRestitutionModifie = null;
        $unContratBaseModifie = null;
        
        $SFcontrat = new SFcontrat();
        $unContratBaseModifie = $SFcontrat->modifierContrat($contratBase);
        $unContratRestitutionModifie = $SFcontrat->modifierContratRestitution($contratRestitution);
        
        return $unContratRestitutionModifie;
    }

    
    /****************************Lister**********************************/
    
    /**
     * Méthode pour lister les contrats de pension selon les critères sélectionnés
     * @param type $contratPension une Pension
     */
    public function listerContratPension($contratPension, $type) {
        $SFcontrat = new SFContrat();
        return $listeContratPension = $SFcontrat->listerContratPension($contratPension, $type);
    }
    
    /**
     * Methode pour lister les Personne selon les critères séléctionnée
     * @param Peronne Personne à lister
     */
    public function lister($contrat) {

        $SFcontrat = new SFContrat();
        return $SFcontrat->lister($contrat);

    }
    
     /****************************SUPPRIMER**********************************/

    //Pas implémenté de suite

}
?>
